'\" t
.\" Copyright 1993 David Metcalfe (david@prism.demon.co.uk)
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.\" References consulted:
.\"     Linux libc source code
.\"     Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
.\"     386BSD man pages
.\" Modified Sat Jul 24 18:49:59 1993 by Rik Faith (faith@cs.unc.edu)
.TH memmove 3 2024-05-02 "Linux man-pages 6.9.1"
.SH NAME
memmove \- copy memory area
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.B #include <string.h>
.P
.BI "void *memmove(void " dest [. n "], const void " src [. n "], size_t " n );
.fi
.SH DESCRIPTION
The
.BR memmove ()
function copies
.I n
bytes from memory area
.I src
to memory area
.IR dest .
The memory areas may overlap: copying takes place as though
the bytes in
.I src
are first copied into a temporary array that does not overlap
.I src
or
.IR dest ,
and the bytes are then copied from the temporary array to
.IR dest .
.SH RETURN VALUE
The
.BR memmove ()
function returns a pointer to
.IR dest .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.TS
allbox;
lbx lb lb
l l l.
Interface	Attribute	Value
T{
.na
.nh
.BR memmove ()
T}	Thread safety	MT-Safe
.TE
.SH STANDARDS
C11, POSIX.1-2008.
.SH HISTORY
POSIX.1-2001, C89, SVr4, 4.3BSD.
.SH SEE ALSO
.BR bcopy (3),
.BR bstring (3),
.BR memccpy (3),
.BR memcpy (3),
.BR strcpy (3),
.BR strncpy (3),
.BR wmemmove (3)
